// 类型断言：TS 允许程序员强行指定值的类型
try {
  throw new Error("error");
} catch (e) {
  // 类型断言：将 e 断言为 Error 类型
  console.log((e as Error).message);
}

// 双重断言: 当 TS 检查出断言错误的时候，可以使用双重断言。
let s = "hello";
s as any as number; // 使用双重断言强行将 s 断言为 number 类型

let p1: { name?: string } = { name: "zs" };
p1.name!.toLowerCase(); // 虽然 p1.name 是可选属性，但是可以使用 ! 来强制断言为非空类型
